# 非递归
# def Fgnc(n):
#     f1 = 1
#     f2 = 1
#     for i in range(3, n+1):
#         f3 = f1 + f2
#         f1 = f2
#         f2 = f3
#     return f3
#
# n = int(input("请输入想求的月份："))
# m = Fgnc(n)
# print("经历20个月后总共有%d对小兔子" % m)
# 递归

# def Fgnc(n):
#     if n == 1 or n == 2:
#         return 1
#     else:
#         return Fgnc(n-1) + Fgnc(n-2)
# n = int(input("请输入想求的月份："))
# m = Fgnc(n)
# print("经历20个月后总共有%d对小兔子" % m)
#汉诺塔
def hanoi(n, x, y, z):#n盘子数，xyx
    if n == 1:
        print(x,'-->', z)
    else:
        hanoi(n-1, x, z, y)
        #将前n-1个盘子从x移动到y上
        print(x, '-->', z)#将最底下的最后一个盘子从x移动到z上
        hanoi(n-1, y, x, z)#将y上的n-1个盘子移动到z上
n = int(input("请输入汉诺塔的层数："))
hanoi(n, "x", "y", "z")
